// 注意：在发起$.get、$.post、$.ajax的时候
// 会先调用ajaxPrefilter这个函数
// 在这个函数中，可以拿到我们给ajax提供的配置对象  
$.ajaxPrefilter(function(options) {
    if (options.url.indexOf('/my/') !== -1) {
        // options.headers = {
        //         Authorization: localStorage.getItem("token") || ''
        //     }
        // 上面这个方法会覆盖之前headers上所有的属性，如果此时有其他的属性也需要使用，这个做法并不合理，以下单独选出这个属性进行设置会更合理
        // 如果存在options.headers， 就在原基础加一个Authorization属性， 没有的话就直接加上这个属性
        options.headers || (options.headers = {})
        options.headers.Authorization = localStorage.getItem("token") || ''
    }
    // 在发起正真的ajax请求之前，统一拼接请求的根路径
    options.url = 'http://ajax.frontend.itheima.net' + options.url

    // 统一为有权限的接口，设置headers请求头
    // 设置一个判断条件，当只有需要权限的请求的时候才会有这个请求头


    // 不管请求是否成功都会调用的函数 complete  
    options.complete = function(res) {
        // console.log(res);
        // 判断身份认证是否失败
        if (res.responseJSON.status == 1 && res.responseJSON.message == "身份认证失败！") {
            // 如果身份认证失败，则强制性清除token和user信息，防止有人使用假的密钥
            localStorage.removeItem('token')
                // 重定向强制跳转到登录页面
                // 通过 window.parent 获取到父窗口对象
            window.parent.location.href = '/login.html'
        }
    }
})